package com.jeesite.modules.task.feedback.dao;

import com.jeesite.common.dao.CrudDao;
import com.jeesite.common.mybatis.annotation.MyBatisDao;
import com.jeesite.modules.task.action.entity.DcSupTaskAction;
import com.jeesite.modules.task.deploy.entity.DcSupTaskInfo;
import com.jeesite.modules.task.feedback.entity.DcSupTaskFeedback;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 任务反馈信息表DAO接口
 * @author zrr
 * @version 2022-03-02
 */
@MyBatisDao
public interface DcSupTaskFeedbackDao extends CrudDao<DcSupTaskFeedback> {

    List<DcSupTaskFeedback> findListOverRide(DcSupTaskFeedback dcSupTaskFeedback);

    DcSupTaskFeedback getOverRide(DcSupTaskFeedback dcSupTaskFeedback);

    void updateFeedbackStatusById(@Param("feedback") DcSupTaskFeedback feedback);

    List<DcSupTaskFeedback> findListWithActionIds(List<String> actionId, @Param("status") String status);
    List<DcSupTaskFeedback> findListFeedbacks(List<String> actionId);

    List<Map<String, String>> findListOverRideStr(DcSupTaskFeedback dcSupTaskFeedback);

    List<DcSupTaskFeedback> listDataOverRide(DcSupTaskFeedback dcSupTaskFeedback);

    List<DcSupTaskFeedback> feedbacklistData(DcSupTaskFeedback dcSupTaskFeedback);

    Integer queryOverTimeCount(DcSupTaskFeedback dcSupTaskFeedback);

    List<DcSupTaskFeedback> queryfeedbackHistory(DcSupTaskFeedback dcSupTaskFeedback);

    List<DcSupTaskFeedback> isZeroAuditFeedback(DcSupTaskFeedback dcSupTaskFeedback);

    List<DcSupTaskFeedback> findLastTaskFeedback(List<String> actionId);

    void updateId(DcSupTaskFeedback dk);

    List<DcSupTaskFeedback> findListWithReminder(@Param("start") String add1DayDate, @Param("end") String add2DayDate);

    DcSupTaskInfo getInfoByActionId(String id);

    void updateLastFeedback(@Param("feedbackStatus") String feedbackStatus,@Param("id") String id);

    void updateActionStatus(@Param("taskStatus") String taskStatus,@Param("id") String id);
    void updateActionStatus2(@Param("taskStatus") String taskStatus,@Param("taskProgress") String taskProgress,@Param("id") String id);

    void updateFeedbackProgress(DcSupTaskFeedback feedback);

    DcSupTaskFeedback getNewFeedbackByActionId(String actionId);

    void updateActionFeedbak(String actionId);

    void updateInfoFeedbak(String taskId);

    List<Map<String, Object>> queryNofeedBackList(Integer currentYear);


    List<Map<String, Object>> queryfeedBackedList(Integer currentYear);


    void insertTaskScore(Map map);

    List<Map<String, Object>> queryfeedBackedListProgress(Integer currentYear);


    String getFeedbackListRemind(String nextDay);

    DcSupTaskAction getActionListById(String id);

    void deleteCurrentYearTaskScore(Integer currentYear);
}